Skip to content

Disable build-time document generation#2684

Merged
jeremydmiller merged 3 commits into
JasperFx:mainfrom
dmytro-pryvedeniuk:disable-build-time-document-generation
May 6, 2026
Merged

Disable build-time document generation#2684
jeremydmiller merged 3 commits into
JasperFx:mainfrom
dmytro-pryvedeniuk:disable-build-time-document-generation

Conversation

@dmytro-pryvedeniuk
Copy link
Copy Markdown
Contributor

@dmytro-pryvedeniuk dmytro-pryvedeniuk commented May 6, 2026

This PR disables OpenAPI/Swagger document generation to speed up build time and avoid annoying build failures.

I used native OpenAPI provided by Microsoft.AspNetCore.OpenApi instead of Swashbuckle.AspNetCore in the most of sample projects. It required skipping net8 from TargetFrameworks as AddOpenApi/MapOpenApi methods are available in net9.0+. WolverineWebApi is the only project heavily using Swagger so I just disabled build-time document generation there using OpenApiGenerateDocumentsOnBuild.

In all cases below I used Rebuild from VS2026 with stopped docker containers.

Case 1 - Whole solution (21.20mins vs 38.44mins+9 failed projects)

With my changes:

...
13:52:49:255	========== Rebuild All: 169 succeeded, 0 failed, 3 skipped ==========
13:52:49:255	========== Rebuild completed at 1:52 PM and took 21:20.357 minutes ==========

Without:

...
14:36:38:057	========== Rebuild All: 160 succeeded, 9 failed, 3 skipped ==========
14:36:38:057	========== Rebuild completed at 2:36 PM and took 38:44.193 minutes ==========

Case 2 - Single WebAppWithSQS project (23s vs 2.45mins+failed build)

With my changes:

...
14:48:24:636	========== Rebuild All: 5 succeeded, 0 failed, 0 skipped ==========
14:48:24:636	========== Rebuild completed at 2:48 PM and took 23.208 seconds ==========

Without (document generation emits multiple errors about not available broker).

...
14:43:38:533	========== Rebuild All: 4 succeeded, 1 failed, 0 skipped ==========
14:43:38:533	========== Rebuild completed at 2:43 PM and took 02:45.426 minutes ==========

Case 3 - Single WolverineWebApi project (45s vs 2.30mins)

With my changes:

15:13:48:976	========== Rebuild All: 13 succeeded, 0 failed, 0 skipped ==========
15:13:48:976	========== Rebuild completed at 3:13 PM and took 44.756 seconds ==========

Without (build succeeds here, even without docker containers)

13:09:17:181	========== Rebuild All: 13 succeeded, 0 failed, 1 skipped ==========
13:09:17:181	========== Rebuild completed at 1:09 PM and took 02:30.692 minutes ==========

Switch some sample projects to OpenApi

Skip net8 for some test projects

Skip net8 for some test projects #2

Switch OpenApiDemonstrator and OtelWebApiWolverineMarten to OpenApi

Switch WebApiWithMarten to OpenApi

Switch some projects to OpenApi #3

Switch remaining projects to OpenApi
@dmytro-pryvedeniuk
Copy link
Copy Markdown
Contributor Author

Build logs can be found below.
Case 1 - BEFORE.log
Case 1 - AFTER.log

@jeremydmiller jeremydmiller merged commit 87759a2 into JasperFx:main May 6, 2026
20 of 21 checks passed
@dmytro-pryvedeniuk dmytro-pryvedeniuk deleted the disable-build-time-document-generation branch May 8, 2026 09:45
vgmello pushed a commit to vgmello/momentum that referenced this pull request May 12, 2026
Updated [WolverineFx](https://github.com/jasperfx/wolverine) from 5.36.2
to 5.39.0.

<details>
<summary>Release notes</summary>

_Sourced from [WolverineFx's
releases](https://github.com/jasperfx/wolverine/releases)._

## 5.39.0

## What's Changed
* docs(logging): correct OpenTelemetry AddMeter sample by @​stigrune in
JasperFx/wolverine#2707
* Add nuke/build.schema.json to .gitignore by @​dmytro-pryvedeniuk in
JasperFx/wolverine#2706
* Allow NATS messages without message-type header when
DefaultIncomingMessage is set by @​frankvdb7 in
JasperFx/wolverine#2703
* fix(http): honor [RoutePrefix] when no global prefix is configured by
@​outofrange-consulting in
JasperFx/wolverine#2708
* Fault Events — Auto-Publish `Fault<T>` on Terminal Handler Failure by
@​BlackChepo in JasperFx/wolverine#2695
* Outbox behavior alignment with EF Core transaction model by @​Ferchke7
in JasperFx/wolverine#2677
* Preserve correlation/trace context across Global Partitioning
interceptor (supersedes #​2709) by @​jeremydmiller in
JasperFx/wolverine#2710
* feat(nats): expose JetStream DeliverPolicy on transport + listener by
@​jeremydmiller in JasperFx/wolverine#2711
* fix(build): include Wolverine.HealthChecks in the Pack target by
@​jeremydmiller in JasperFx/wolverine#2712
* feat(sqs): transport-wide DefaultDeadLetterQueueName with per-listener
override precedence by @​jeremydmiller in
JasperFx/wolverine#2714

## New Contributors
* @​stigrune made their first contribution in
JasperFx/wolverine#2707

**Full Changelog**:
JasperFx/wolverine@V5.38.0...V5.39.0

## 5.38.0

## What's Changed
* Disable build-time document generation by @​dmytro-pryvedeniuk in
JasperFx/wolverine#2684
* Add IBrokerHealthProbe + RabbitMQ implementation (CritterWatch#​70) by
@​jeremydmiller in JasperFx/wolverine#2686
* Add Wolverine.HealthChecks for ASP.NET Core IHealthCheck integration
(CritterWatch#​73) by @​jeremydmiller in
JasperFx/wolverine#2687
* Add WolverineHeartbeat emission (CritterWatch#​72) by @​jeremydmiller
in JasperFx/wolverine#2688
* fix(agents): never let self fall into the staleNodes filter (GH-2682)
by @​jeremydmiller in JasperFx/wolverine#2689
* feat(http): api-versioning headers on all responses + multi-version
handler support by @​outofrange-consulting in
JasperFx/wolverine#2683
* fix(advisory-lock): make TryAttainLockAsync idempotent against
re-entrant calls by @​jeremydmiller in
JasperFx/wolverine#2691
* fix(test): lock AllItemsReceived state in batch_processing tests by
@​jeremydmiller in JasperFx/wolverine#2692
* fix(marten): publish IEvent.TenantId verbatim under conjoined tenancy
by @​jeremydmiller in JasperFx/wolverine#2693
* fix(rabbitmq): bind handler queue to every handled-message exchange
under FromHandlerType by @​jeremydmiller in
JasperFx/wolverine#2697
* fix(sqlite): close #​2680 by bumping Weasel to 8.15.1 by
@​jeremydmiller in JasperFx/wolverine#2696
* [1/N] dynamic listeners — foundation only (GH-2685) by @​jeremydmiller
in JasperFx/wolverine#2699
* feat(tracing): opt-in handler-execution diagnostics on
WolverineOptions.Tracking by @​jeremydmiller in
JasperFx/wolverine#2698
* Fix unbounded retry loop on durable receiver shutdown (GH-2671) by
@​jeremydmiller in JasperFx/wolverine#2701
* [2/N] real RDBMS-backed IListenerStore (GH-2685) by @​jeremydmiller in
JasperFx/wolverine#2700
* [3/N] DynamicListenerAgentFamily — cluster-coordinated dynamic
listeners (GH-2685) by @​jeremydmiller in
JasperFx/wolverine#2702


**Full Changelog**:
JasperFx/wolverine@V5.37.2...V5.38.0

## 5.37.2

## What's Changed
* Fixing a regression problem with explicit type discovery getting lost…
by @​jeremydmiller in JasperFx/wolverine#2678
* chore(core): remove Wolverine-specific Roslyn source generator by
@​jeremydmiller in JasperFx/wolverine#2679


**Full Changelog**:
JasperFx/wolverine@V5.37.0...V5.37.2

## 5.37.0

## What's Changed
* The real fix to our EF Core + Outbox problem. Bump to 5.36.2 by
@​jeremydmiller in JasperFx/wolverine#2665
* fix(sqlite): use BEGIN EXCLUSIVE for migration lock; TTL sweep +
heartbeat for non-migration advisory locks by @​mysticmind in
JasperFx/wolverine#2666
* feat(http): support [ApiVersionNeutral] for opt-out endpoints by
@​outofrange-consulting in
JasperFx/wolverine#2660
* feat(critterwatch): polecat outbox listener fix + DocumentStores
capability surface by @​jeremydmiller in
JasperFx/wolverine#2672
* feat(rabbitmq): public API for multi-node cluster endpoints (#​2659)
by @​BlackChepo in JasperFx/wolverine#2664
* fix(marten): GH-2669 alternative — Uri-based ancillary store routing
(no IMessageStore.Id dependency) by @​jeremydmiller in
JasperFx/wolverine#2674


**Full Changelog**:
JasperFx/wolverine@v5.36.1...V5.37.0

Commits viewable in [compare
view](https://github.com/jasperfx/wolverine/commits/V5.39.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=WolverineFx&package-manager=nuget&previous-version=5.36.2&new-version=5.39.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants